package com.hsjk.szwj.module.pay.controller.app.order.vo;

import com.hsjk.szwj.module.pay.constant.PayDataTypeConstant;
import com.hsjk.szwj.module.pay.dal.dataobject.config.AbstractResp;
import com.hsjk.szwj.module.pay.dal.dataobject.config.ChannelRetMsg;
import lombok.Data;

/**
 * @author chenjiawei
 * @desc 创建订单(统一订单) 响应参数
 * @Date 2023/08/24 01:10
 **/
@Data
public class UnifiedOrderRespVO extends AbstractResp {
    /**
     * 支付订单号
     **/
    private Long payOrderId;

    /**
     * 商户订单号
     **/
    private Long mchOrderId;

    /**
     * 订单状态
     **/
    private Integer orderState;

    /**
     * 支付参数类型  ( 无参数，  调起支付插件参数， 重定向到指定地址，  用户扫码   )
     **/
    private String payDataType;

    /**
     * 支付参数
     **/
    private String payData;

    /**
     * 渠道返回错误代码
     **/
    private String errCode;

    /**
     * 渠道返回错误信息
     **/
    private String errMsg;

    /**
     * 上游渠道返回数据包 (无需JSON序列化)
     **/
    private transient ChannelRetMsg channelRetMsg;

    /**
     * 生成聚合支付参数 (仅统一下单接口使用)
     **/
    public String buildPayDataType() {
        return PayDataTypeConstant.NONE;
    }

    /**
     * 生成支付参数
     **/
    public String buildPayData() {
        return "";
    }
}
